le but étant de faire une page "conforme au template" pour sudo fait
et ici → https://doc.ubuntu-fr.org/utilisateurs/roschan/elevation_privileges on fera un tuto propre user-friendly fait (il faudra échanger les backlinks) pas fait
et ici → https://doc.ubuntu-fr.org/utilisateurs/roschan/elevation_privileges_avances un tuto avancé avec tout le bullshit obsolète sur gkmachin en cours
Tout ordinateur a besoin d'un administrateur système. C'est la personne en charge de la configuration initiale et de la maintenance du matériel et du système d'exploitation Ubuntu : installation ou désinstallation de programmes, création de comptes d'utilisateurs, paramétrage du matériel, etc.
L'administrateur est une personne ayant un compte d'utilisateur avec des privilèges supplémentaires.
Sur Ubuntu, ces privilèges peuvent s'exécuter de différentes manières, répertoriées et détaillées sur cette page (
). La plus connue d'entre elle est la commande sudo, qu'on va détailler ici-même.
sudo ne doit pas être utilisée à la légère : elle présente un risque non négligeable pour votre système. Lisez attentivement les remarques sur la sécurité ci-dessous.
Pour effectuer des tâches privilégiées à travers l'utilitaire sudo, votre compte d'utilisateur va devoir prendre temporairement le rôle d'administrateur (aussi appelé « root » ou encore « super-utilisateur »).
Vous disposez d'un compte ayant accès aux privilèges d'administrateur si :
Reportez-vous à la section Configuration pour plus de détails sur l'ajout ou le retrait des privilèges d'administration à un utilisateur.
Si votre compte est correctement paramétré :
sudo. Exemple avec la commande nano : sudo nano
Les programmes lancés par les commandes précédées de sudo ne doivent pas être n'importe lesquels.
sudo de programmes d'origine douteuse.sudo de programmes qui vous demandent déjà tous seuls les droits adéquats : la plupart des programmes exigeant des droits spécifiques les demanderont eux-mêmes, c'est notamment le cas des programmes graphiques d'installation de paquets, des éditeurs de partitions, …
). Si vous voulez lancer des applications comme GParted ou Synaptic sur un système avec Wayland, reportez-vous à ce paragraphe pour contourner le problème.
Seuls les administrateurs sont habilités à effectuer des tâches administratives à travers l'utilitaire sudo. Pour augmenter les privilèges accessibles à un utilisateur, vous devez vous-même avoir d'abord accès à un compte administrateur.
Pour assigner le rôle d'administrateur à un autre compte d'utilisateur :
sudo adduser <identifiant> sudo
où <identifiant> doit être remplacé par l'identifiant du compte d'utilisateur (sans les <chevrons>) auquel des privilèges supplémentaires doivent être accordés.
On peut configurer plus finement les privilèges accordés par l'utilitaire sudo afin d'autoriser ou refuser l'exécution de tâches privilégiées. Plus que simplement autoriser l'exécution de toutes les tâches administratives à un groupe d'utilisateurs par l'authentification par mot de passe, sudo peut être paramétré pour permettre à un utilisateur particulier ou un groupe d'utilisateurs particulier d'exécuter une ou des tâches bien précises, avec ou sans saisie du mot de passe.
D'autres paramètres, tels le délai d'attente avant qu'une ré-authentification soit nécessaire, l'endroit où est enregistré le journal d’événements et le niveau de courtoisie de sudo, sont aussi paramétrables.
Reportez-vous à cette page pour découvrir la configuration avancée avec /etc/sudoers/
Le « super-utilisateur » ayant TOUS les droits sur le système, son utilisation peut être TRÈS dangereuse, pour plusieurs raisons :
sudo.sudo pour des commandes n'en ayant pas besoin, la sécurité est donc accrue, et moins d'actions sont requises de la part de l'utilisateur (ce sont les applications qui demandent les droits, pas l'utilisateur). Parmi les programmes capables d'utiliser PolKit, on peut citer :su permet de se connecter en tant que super-utilisateur de manière durable. C'est extrêmement dangereux, ne faites pas ça à la légère.
Le fonctionnement de sudo peut sembler complexe en comparaison à l'utilisation directe d'un compte root, qu'Ubuntu a choisi de ne pas activer par défaut.
Les avantages de l'emploi de sudo, par opposition à l'emploi direct d'un unique compte super-utilisateur (root) via la commande su, sont nombreux pour une utilisation dans un environnement domestique ou de PME/PMI :
root par des mauvaises habitudes ;sudo conserve une trace de toutes les commandes exécutées. Si un problème apparaît, vous pourrez toujours consulter ce journal afin de retrouver la commande ayant causé le problème ;root et essaieront de pirater celui-ci d'abord. Ils ne connaissent pas les identifiants des autres utilisateurs de votre ordinateur ;root ;sudo peut être configuré avec une politique bien plus affinée.
Non :
Le modèle de sécurité à la base est le même, et les deux modèles partagent une même faiblesse. Tout utilisateur utilisant su root ou sudo pour effectuer des tâches administratives doit être considéré comme un utilisateur privilégié.
Si le compte de l'utilisateur est compromis par un attaquant, celui-ci peut aussi obtenir une élévation de privilèges et compromettre le système d'exploitation.
Les utilisateurs ayant les droits d'administration doivent être protégés avec les mêmes soins que le compte super-utilisateur.
On remarque que sudo encourage la modification des habitudes de travail, qui peuvent provoquer un impact positif sur la sécurité du système d'exploitation.
sudo est habituellement utilisé pour exécuter une commande unique, alors que su root est souvent utilisé pour exécuter un terminal root et exécuter des multiples commandes.
L'approche de sudo réduit la possibilité qu'un terminal root soit laissé ouvert indéfiniment sur le poste de travail et encourage l'utilisateur à minimiser son utilisation des privilèges d'administration.
L'ensemble des actions exécutées à travers l'utilitaire sudo – qu'elles s'accomplissent avec succès ou échec – sont journalisées. Elles sont inscrites dans le fichier de journal /var/log/auth.log.
sudo pose a priori des problèmes pour la redirection de flux dans une console. Par exemple, la redirection suivante ne fonctionnera pas :
utilisateur@ordinateur:~$ sudo echo 2 > /proc/acpi/thermal_zone/ATF0/polling_frequency
La raison de cet échec est que sudo n'exécute que la première tâche (echo 2) avec l'identité empruntée ; la redirection, elle, est effectuée en mode utilisateur uniquement.
La solution, pour contourner cette limitation, est d'appeler un nouvel interpréteur de commandes et de lui faire exécuter votre redirection de flux. Par exemple :
utilisateur@ordinateur:~$ sudo sh -c 'echo 2 > /proc/acpi/thermal_zone/ATF0/polling_frequency'
De cette manière, c'est tout l'interpréteur sh et la commande passée en argument qui est exécutée avec l'identité empruntée.
/etc/passwd pour l'utilisateur cible (root par défaut)./etc/passwd pour l'utilisateur cible (root par défaut). Cela signifie que des fichiers spécifiques tels que .login ou .profile seront lus par le shell ainsi lancé. Contributeurs : AlexandreP, Chatalors, Damocles, Ju, eagle08, roschan , …